package com.ruoyi.recharge.service.impl;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ruoyi.recharge.mapper.RechargeMapper;
import com.param.concat.IIdParam;
import com.ruoyi.recharge.domain.Recharge;
import com.ruoyi.recharge.service.IRechargeService;

/**
 * 充值记录 Service业务层处理
 *
 * @author 王强
 * @date 2023-12-22
 */
@Service
public class RechargeServiceImpl implements IRechargeService {
	@Autowired
	private RechargeMapper rechargeMapper;

	/**
	 * 查询充值记录
	 *
	 * @param id 充值记录 主键
	 * @return 充值记录
	 */
	@Override
	public Recharge selectById(int id) {
		return rechargeMapper.selectById(id);
	}

	/**
	 * 查询充值记录 列表
	 *
	 * @param recharge 充值记录
	 * @return 充值记录
	 */
	@Override
	public List<Recharge> selectList(Recharge recharge) {
		return rechargeMapper.selectList(recharge);
	}

	/**
	 * 新增充值记录
	 *
	 * @param 充值记录
	 * @return 结果
	 */
	@Override
	public int insert(Recharge recharge) {
		recharge.setPayTime(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));
		return rechargeMapper.insert(recharge);
	}

	/**
	 * 修改充值记录
	 *
	 * @param 充值记录
	 * @return 结果
	 */
	@Override
	public int update(Recharge recharge) {
		return rechargeMapper.update(recharge);
	}

	/**
	 * 批量删除充值记录
	 *
	 * @param ids 需要删除的充值记录 主键
	 * @return 结果
	 */
	@Override
	public int deleteByIds(Integer[] ids) {
		return rechargeMapper.deleteByIds(ids);
	}

	/**
	 * 删除充值记录 信息
	 *
	 * @param id 充值记录 主键
	 * @return 结果
	 */
	@Override
	public int deleteById(Integer id) {
		return rechargeMapper.deleteById(id);
	}

	@Override
	@Transactional
	public int updatePayment(Recharge recharge) {
		return rechargeMapper.update(recharge);
	}

	@Override
	public List<Recharge> selectList(IIdParam idParam) {
		return this.rechargeMapper.selectListByUserId(idParam);
	}
}
